/**
 * _config comes from server-side template. see views/index.jade
 ********************************************************************** 
 * 【实现验证】
 **********************************************************************
 * jsapi鉴权使用dd.config的时候,传入的参数一定要和你服务端做签名的参数相同
 */
dd.config({
			agentId : _config.agentid, // 必填，微应用ID
			corpId : _config.corpId,  //必填，企业ID
			timeStamp : _config.timeStamp, // 必填，生成签名的时间戳
			nonceStr : _config.nonceStr, // 必填，生成签名的随机串
			signature : _config.signature, // 必填，签名
			jsApiList : [ 'runtime.info', 'biz.contact.choose',
					'device.notification.confirm', 'device.notification.alert',
					'device.notification.prompt', 'biz.ding.post',
					'biz.util.openLink' ] // 必填，需要使用的jsapi列表，注意：不要带dd。
		}
);

//【调用JSAPI组件】---注意：所有JSAPI组件的调用，必须在dd.ready里面执行
//dd.ready参数为回调函数，在环境准备就绪时触发，jsapi的调用需要保证在该回调函数触发后调用，否则无效
dd.ready(function() {	
	
	//通过设置当前控制器的navigationItem.title属性，来代表当前控制器的标题
    dd.biz.navigation.setTitle({
        title: '钉钉demo',
        onSuccess: function(data) {
        	alert('setTitle-------------------------');
        },
        onFail: function(err) {
            log.e(JSON.stringify(err));
        }
    });
    
	alert('dd.ready rocks!');
	
	dd.runtime.info({
		onSuccess : function(info) {
			alert('dd.runtime.info-------------------------');
			logger.e('runtime info: ' + JSON.stringify(info));
		},
		onFail : function(err) {
			logger.e('fail: ' + JSON.stringify(err));
		}
	});
	dd.ui.pullToRefresh.enable({
	    onSuccess: function() {
	    	alert('dd.ui.pullToRefresh.enable-------------------------');
	    },
	    onFail: function() {
	    }
	});
	
    alert('2222222222222222222222222222222');
	
	dd.biz.navigation.setMenu({
		backgroundColor : "#ADD8E6",
		items : [
			{
				id:"此处可以设置帮助",//字符串
			// "iconId":"file",//字符串，图标命名
			  text:"帮助"
			}
			,
			{
				"id":"2",
			"iconId":"photo",
			  "text":"我们"
			}
			,
			{
				"id":"3",
			"iconId":"file",
			  "text":"你们"
			}
			,
			{
				"id":"4",
			"iconId":"time",
			  "text":"他们"
			}
		],
		onSuccess: function(data) {
			alert('dd.biz.navigation.setMenu-------------------------');
			alert(JSON.stringify(data));

		},
		onFail: function(err) {
			alert(JSON.stringify(err));
		}
	});

	alert('333333333333333333333333333333333333333333');
	
	//------------------【验证成功-获取code码值】-----------------------
	//获取服务窗免登授权码(授权码，5分钟有效，且只能使用一次)
	dd.runtime.permission.requestAuthCode({
		corpId : _config.corpId,
		onSuccess : function(info) {
			alert('dd.runtime.permission.requestAuthCode-----授权码，5分钟有效，且只能使用一次--------authcode: ' + info.code);
			
			//请求后台通过code值获得userId
			$.ajax({
				url : 'userinfo?code=' + info.code + '&corpid='
						+ _config.corpId,
				type : 'GET',
				success : function(data, status, xhr) {
				    alert(data);
					var info = JSON.parse(data);

					document.getElementById("userName").innerHTML = info.name;
					document.getElementById("userId").innerHTML = info.userid;
					
					// 图片
					if(info.avatar.length != 0){
			            var img = document.getElementById("userImg");
			            img.src = info.avatar;
			                      img.height = '100';
			                      img.width = '100';
			          }

				},
				error : function(xhr, errorType, error) {
					logger.e("yinyien:" + _config.corpId);
					alert(errorType + ', ' + error);
				}
			});

		},
		onFail : function(err) {
			alert('fail: ' + JSON.stringify(err));
		}
	});
	alert('444444444444444444444444444444444444444');
});

//验证失败
//dd.config验证失败会执行error函数，错误信息可以在返回的error参数中参看
dd.error(function(err) {
	alert('dd error: ' + JSON.stringify(err));
});
